package com.jyw.business.ast.service;

import java.util.List;
import com.jyw.business.ast.domain.AstConsumableRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jyw.business.ast.domain.vo.web.AstConsumableClaimReserveVo;
import com.jyw.business.ast.domain.vo.web.AstConsumableReserveRecordVo;

/**
 * 资产-耗材-记录Service接口
 * 
 * @author system
 * @date 2023-10-24
 */
public interface IAstConsumableRecordService extends IService<AstConsumableRecord>
{
    /**
     * 查询资产-耗材-记录
     * 
     * @param id 资产-耗材-记录主键
     * @return 资产-耗材-记录
     */
    public AstConsumableRecord selectAstConsumableRecordById(Long id);

    /**
     * 查询资产-耗材-记录列表
     * 
     * @param astConsumableRecord 资产-耗材-记录
     * @return 资产-耗材-记录集合
     */
    public List<AstConsumableRecord> selectAstConsumableRecordList(AstConsumableRecord astConsumableRecord);

    /**
     * 新增资产-耗材-记录
     * 
     * @param astConsumableRecord 资产-耗材-记录
     * @return 结果
     */
    public int insertAstConsumableRecord(AstConsumableRecord astConsumableRecord);

    /**
     * 修改资产-耗材-记录
     * 
     * @param astConsumableRecord 资产-耗材-记录
     * @return 结果
     */
    public int updateAstConsumableRecord(AstConsumableRecord astConsumableRecord);

    /**
     * 批量删除资产-耗材-记录
     * 
     * @param ids 需要删除的资产-耗材-记录主键集合
     * @return 结果
     */
    public int deleteAstConsumableRecordByIds(Long[] ids);

    /**
     * 删除资产-耗材-记录信息
     * 
     * @param id 资产-耗材-记录主键
     * @return 结果
     */
    public int deleteAstConsumableRecordById(Long id);

    /**
     * 根据类型查询记录
     * @param id
     * @param type
     * @return
     */
    List<AstConsumableReserveRecordVo> reserveRecord(Long id, String type);

    /**
     * 查询耗材申领记录
     * @param id
     * @return
     */
    List<AstConsumableClaimReserveVo> claimReserveRecord(Long id);
}
